package com.dianxin.smartpark.dao.qo.attendance;

import com.chinatelecom.response.common.BaseQO;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

public class SmartParkAttendanceRecordQO extends BaseQO implements Serializable {
    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 用户名
     */
    private String userName;

    /**
     * 机构ID
     */
    private Long deptId;

    /**
     * 机构名
     */
    private String deptName;

    /**
     * 打卡类型（1：签到，2：签退）
     */
    private Integer clockInType;

    /**
     * 打卡类型名
     */
    private String clockInTypeName;

    /**
     * 打卡状态（1：正常。2：迟到。3：早退。4：旷工。5：缺卡）
     */
    private Integer clockInStatus;

    /**
     * 打卡状态名
     */
    private String clockInStatusName;

    /**
     * 打卡方式（1：门禁打卡。2：APP打卡。9：系统生成）
     */
    private Integer clockInWay;

    /**
     * 打卡方式名
     */
    private String clockInWayName;

    /**
     * 打卡日期
     */
    private String clockInDate;

    /**
     * 打卡时间
     */
    private Date clockInTime;

    /**
     * 打卡来源
     */
    private Long clockInSource;

    /**
     * 打卡来源名称
     */
    private String clockInSourceName;

    /**
     * 打卡工作日
     */
    private Integer clockInWeek;

    /**
     * 异常分钟数
     */
    private Integer abnormalMinutes;

    /**
     * 考勤组
     */
    private Long groupId;

    /**
     * 考勤组名称
     */
    private String groupName;

    /**
     * 是否外勤（0：否，1：是）
     */
    private Integer fieldWork;

    /**
     * 是否补卡（0：否，1：是）
     */
    private Integer cardSupplement;

    /**
     * 打卡班次
     */
    private Long cardShift;

    /**
     * 班次名称
     */
    private String cardShiftName;

    /**
     * 班次开始时间
     */
    private String shiftWorkTime;

    /**
     * 打卡地址
     */
    private String cardAddress;

    /**
     * 经度
     */
    private String longitude;

    /**
     * 纬度
     */
    private String latitude;

    /**
     * 补卡记录ID detil
     */
    private Long supplement;

    /**
     * 处理状态（act_audit_flag字典 0待提交 1审批中 2已完成 3已撤销 4办理中）
     */
    private Integer dispose;

    /**
     * 当前处理人
     */
    private Long handlerUser;

    /**
     * 租户id
     */
    private String tenantId;

    /**
     * smart_park_attendance_record
     */
    private static final long serialVersionUID = 1L;

    /**
     * 用户ID
     * @return user_id 用户ID
     */
    public Long getUserId() {
        return userId;
    }

    /**
     * 用户ID
     * @param userId 用户ID
     */
    public void setUserId(Long userId) {
        this.userId = userId;
    }

    /**
     * 用户名
     * @return user_name 用户名
     */
    public String getUserName() {
        return userName;
    }

    /**
     * 用户名
     * @param userName 用户名
     */
    public void setUserName(String userName) {
        this.userName = userName == null ? null : userName.trim();
    }

    /**
     * 机构ID
     * @return dept_id 机构ID
     */
    public Long getDeptId() {
        return deptId;
    }

    /**
     * 机构ID
     * @param deptId 机构ID
     */
    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    /**
     * 机构名
     * @return dept_name 机构名
     */
    public String getDeptName() {
        return deptName;
    }

    /**
     * 机构名
     * @param deptName 机构名
     */
    public void setDeptName(String deptName) {
        this.deptName = deptName == null ? null : deptName.trim();
    }

    /**
     * 打卡类型（1：签到，2：签退）
     * @return clock_in_type 打卡类型（1：签到，2：签退）
     */
    public Integer getClockInType() {
        return clockInType;
    }

    /**
     * 打卡类型（1：签到，2：签退）
     * @param clockInType 打卡类型（1：签到，2：签退）
     */
    public void setClockInType(Integer clockInType) {
        this.clockInType = clockInType;
    }

    /**
     * 打卡类型名
     * @return clock_in_type_name 打卡类型名
     */
    public String getClockInTypeName() {
        return clockInTypeName;
    }

    /**
     * 打卡类型名
     * @param clockInTypeName 打卡类型名
     */
    public void setClockInTypeName(String clockInTypeName) {
        this.clockInTypeName = clockInTypeName == null ? null : clockInTypeName.trim();
    }

    /**
     * 打卡状态（1：正常。2：迟到。3：早退。4：旷工。5：缺卡）
     * @return clock_in_status 打卡状态（1：正常。2：迟到。3：早退。4：旷工。5：缺卡）
     */
    public Integer getClockInStatus() {
        return clockInStatus;
    }

    /**
     * 打卡状态（1：正常。2：迟到。3：早退。4：旷工。5：缺卡）
     * @param clockInStatus 打卡状态（1：正常。2：迟到。3：早退。4：旷工。5：缺卡）
     */
    public void setClockInStatus(Integer clockInStatus) {
        this.clockInStatus = clockInStatus;
    }

    /**
     * 打卡状态名
     * @return clock_in_status_name 打卡状态名
     */
    public String getClockInStatusName() {
        return clockInStatusName;
    }

    /**
     * 打卡状态名
     * @param clockInStatusName 打卡状态名
     */
    public void setClockInStatusName(String clockInStatusName) {
        this.clockInStatusName = clockInStatusName == null ? null : clockInStatusName.trim();
    }

    /**
     * 打卡方式（1：门禁打卡。2：APP打卡。9：系统生成）
     * @return clock_in_way 打卡方式（1：门禁打卡。2：APP打卡。9：系统生成）
     */
    public Integer getClockInWay() {
        return clockInWay;
    }

    /**
     * 打卡方式（1：门禁打卡。2：APP打卡。9：系统生成）
     * @param clockInWay 打卡方式（1：门禁打卡。2：APP打卡。9：系统生成）
     */
    public void setClockInWay(Integer clockInWay) {
        this.clockInWay = clockInWay;
    }

    /**
     * 打卡方式名
     * @return clock_in_way_name 打卡方式名
     */
    public String getClockInWayName() {
        return clockInWayName;
    }

    /**
     * 打卡方式名
     * @param clockInWayName 打卡方式名
     */
    public void setClockInWayName(String clockInWayName) {
        this.clockInWayName = clockInWayName == null ? null : clockInWayName.trim();
    }

    /**
     * 打卡日期
     * @return clock_in_date 打卡日期
     */
    public String getClockInDate() {
        return clockInDate;
    }

    /**
     * 打卡日期
     * @param clockInDate 打卡日期
     */
    public void setClockInDate(String clockInDate) {
        this.clockInDate = clockInDate == null ? null : clockInDate.trim();
    }

    /**
     * 打卡时间
     * @return clock_in_time 打卡时间
     */
    public Date getClockInTime() {
        return clockInTime;
    }

    /**
     * 打卡时间
     * @param clockInTime 打卡时间
     */
    public void setClockInTime(Date clockInTime) {
        this.clockInTime = clockInTime;
    }

    /**
     * 打卡来源
     * @return clock_in_source 打卡来源
     */
    public Long getClockInSource() {
        return clockInSource;
    }

    /**
     * 打卡来源
     * @param clockInSource 打卡来源
     */
    public void setClockInSource(Long clockInSource) {
        this.clockInSource = clockInSource;
    }

    /**
     * 打卡来源名称
     * @return clock_in_source_name 打卡来源名称
     */
    public String getClockInSourceName() {
        return clockInSourceName;
    }

    /**
     * 打卡来源名称
     * @param clockInSourceName 打卡来源名称
     */
    public void setClockInSourceName(String clockInSourceName) {
        this.clockInSourceName = clockInSourceName == null ? null : clockInSourceName.trim();
    }

    /**
     * 打卡工作日
     * @return clock_in_week 打卡工作日
     */
    public Integer getClockInWeek() {
        return clockInWeek;
    }

    /**
     * 打卡工作日
     * @param clockInWeek 打卡工作日
     */
    public void setClockInWeek(Integer clockInWeek) {
        this.clockInWeek = clockInWeek;
    }

    /**
     * 异常分钟数
     * @return abnormal_minutes 异常分钟数
     */
    public Integer getAbnormalMinutes() {
        return abnormalMinutes;
    }

    /**
     * 异常分钟数
     * @param abnormalMinutes 异常分钟数
     */
    public void setAbnormalMinutes(Integer abnormalMinutes) {
        this.abnormalMinutes = abnormalMinutes;
    }

    /**
     * 考勤组
     * @return group_id 考勤组
     */
    public Long getGroupId() {
        return groupId;
    }

    /**
     * 考勤组
     * @param groupId 考勤组
     */
    public void setGroupId(Long groupId) {
        this.groupId = groupId;
    }

    /**
     * 考勤组名称
     * @return group_name 考勤组名称
     */
    public String getGroupName() {
        return groupName;
    }

    /**
     * 考勤组名称
     * @param groupName 考勤组名称
     */
    public void setGroupName(String groupName) {
        this.groupName = groupName == null ? null : groupName.trim();
    }

    /**
     * 是否外勤（0：否，1：是）
     * @return field_work 是否外勤（0：否，1：是）
     */
    public Integer getFieldWork() {
        return fieldWork;
    }

    /**
     * 是否外勤（0：否，1：是）
     * @param fieldWork 是否外勤（0：否，1：是）
     */
    public void setFieldWork(Integer fieldWork) {
        this.fieldWork = fieldWork;
    }

    /**
     * 是否补卡（0：否，1：是）
     * @return card_supplement 是否补卡（0：否，1：是）
     */
    public Integer getCardSupplement() {
        return cardSupplement;
    }

    /**
     * 是否补卡（0：否，1：是）
     * @param cardSupplement 是否补卡（0：否，1：是）
     */
    public void setCardSupplement(Integer cardSupplement) {
        this.cardSupplement = cardSupplement;
    }

    /**
     * 打卡班次
     * @return card_shift 打卡班次
     */
    public Long getCardShift() {
        return cardShift;
    }

    /**
     * 打卡班次
     * @param cardShift 打卡班次
     */
    public void setCardShift(Long cardShift) {
        this.cardShift = cardShift;
    }

    /**
     * 班次名称
     * @return card_shift_name 班次名称
     */
    public String getCardShiftName() {
        return cardShiftName;
    }

    /**
     * 班次名称
     * @param cardShiftName 班次名称
     */
    public void setCardShiftName(String cardShiftName) {
        this.cardShiftName = cardShiftName == null ? null : cardShiftName.trim();
    }

    /**
     * 班次开始时间
     * @return shift_work_time 班次开始时间
     */
    public String getShiftWorkTime() {
        return shiftWorkTime;
    }

    /**
     * 班次开始时间
     * @param shiftWorkTime 班次开始时间
     */
    public void setShiftWorkTime(String shiftWorkTime) {
        this.shiftWorkTime = shiftWorkTime == null ? null : shiftWorkTime.trim();
    }

    /**
     * 打卡地址
     * @return card_address 打卡地址
     */
    public String getCardAddress() {
        return cardAddress;
    }

    /**
     * 打卡地址
     * @param cardAddress 打卡地址
     */
    public void setCardAddress(String cardAddress) {
        this.cardAddress = cardAddress == null ? null : cardAddress.trim();
    }

    /**
     * 经度
     * @return longitude 经度
     */
    public String getLongitude() {
        return longitude;
    }

    /**
     * 经度
     * @param longitude 经度
     */
    public void setLongitude(String longitude) {
        this.longitude = longitude == null ? null : longitude.trim();
    }

    /**
     * 纬度
     * @return latitude 纬度
     */
    public String getLatitude() {
        return latitude;
    }

    /**
     * 纬度
     * @param latitude 纬度
     */
    public void setLatitude(String latitude) {
        this.latitude = latitude == null ? null : latitude.trim();
    }

    /**
     * 补卡记录ID detil
     * @return supplement 补卡记录ID detil
     */
    public Long getSupplement() {
        return supplement;
    }

    /**
     * 补卡记录ID detil
     * @param supplement 补卡记录ID detil
     */
    public void setSupplement(Long supplement) {
        this.supplement = supplement;
    }

    /**
     * 处理状态（act_audit_flag字典 0待提交 1审批中 2已完成 3已撤销 4办理中）
     * @return dispose 处理状态（act_audit_flag字典 0待提交 1审批中 2已完成 3已撤销 4办理中）
     */
    public Integer getDispose() {
        return dispose;
    }

    /**
     * 处理状态（act_audit_flag字典 0待提交 1审批中 2已完成 3已撤销 4办理中）
     * @param dispose 处理状态（act_audit_flag字典 0待提交 1审批中 2已完成 3已撤销 4办理中）
     */
    public void setDispose(Integer dispose) {
        this.dispose = dispose;
    }

    /**
     * 当前处理人
     * @return handler_user 当前处理人
     */
    public Long getHandlerUser() {
        return handlerUser;
    }

    /**
     * 当前处理人
     * @param handlerUser 当前处理人
     */
    public void setHandlerUser(Long handlerUser) {
        this.handlerUser = handlerUser;
    }

    /**
     * 租户id
     * @return tenant_id 租户id
     */
    public String getTenantId() {
        return tenantId;
    }

    /**
     * 租户id
     * @param tenantId 租户id
     */
    public void setTenantId(String tenantId) {
        this.tenantId = tenantId == null ? null : tenantId.trim();
    }

    private Boolean whetherAbnormally;

    public Boolean getWhetherAbnormally() {
        return whetherAbnormally;
    }

    public void setWhetherAbnormally(Boolean whetherAbnormally) {
        this.whetherAbnormally = whetherAbnormally;
    }

    /**
     * 开始时间
     */
    private Date startTime;

    /**
     * 结束时间
     */
    private Date endTime;

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }
}